home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / demos / VisualAge for Java 2.0 Entry / setup / data1.cab / ide-e / IDE / cache / 1HTK81Z (.txt) < prev    next >
Encoding:
Java Class File  |  1998-09-16  |  2.0 KB  |  48 lines

  1. package com.sun.java.swing.plaf.metal;
  2.  
  3. import com.sun.java.swing.AbstractButton;
  4. import com.sun.java.swing.ButtonModel;
  5. import com.sun.java.swing.JMenu;
  6. import com.sun.java.swing.JMenuBar;
  7. import com.sun.java.swing.JMenuItem;
  8. import com.sun.java.swing.border.AbstractBorder;
  9. import java.awt.Component;
  10. import java.awt.Graphics;
  11. import java.awt.Insets;
  12.  
  13. public class MetalMenuItemBorder extends AbstractBorder {
  14.    protected static Insets borderInsets = new Insets(2, 2, 2, 2);
  15.  
  16.    public Insets getBorderInsets(Component c) {
  17.       return borderInsets;
  18.    }
  19.  
  20.    public void paintBorder(Component c, Graphics g, int x, int y, int w, int h) {
  21.       JMenuItem b = (JMenuItem)c;
  22.       ButtonModel model = ((AbstractButton)b).getModel();
  23.       g.translate(x, y);
  24.       if (c.getParent() instanceof JMenuBar) {
  25.          if (model.isArmed() || model.isSelected()) {
  26.             g.setColor(MetalLookAndFeel.getControlDarkShadow());
  27.             g.drawLine(0, 0, w - 2, 0);
  28.             g.drawLine(0, 0, 0, h - 1);
  29.             g.drawLine(w - 2, 2, w - 2, h - 1);
  30.             g.setColor(MetalLookAndFeel.getPrimaryControlHighlight());
  31.             g.drawLine(w - 1, 1, w - 1, h - 1);
  32.             g.setColor(MetalLookAndFeel.getMenuBackground());
  33.             g.drawLine(w - 1, 0, w - 1, 0);
  34.          }
  35.       } else if (!model.isArmed() && (!(c instanceof JMenu) || !model.isSelected())) {
  36.          g.setColor(MetalLookAndFeel.getPrimaryControlHighlight());
  37.          g.drawLine(0, 0, 0, h - 1);
  38.       } else {
  39.          g.setColor(MetalLookAndFeel.getPrimaryControlDarkShadow());
  40.          g.drawLine(0, 0, w - 1, 0);
  41.          g.setColor(MetalLookAndFeel.getPrimaryControlHighlight());
  42.          g.drawLine(0, h - 1, w - 1, h - 1);
  43.       }
  44.  
  45.       g.translate(-x, -y);
  46.    }
  47. }
  48.